// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: List of words that are not reserved
es5id: 7.6.1_A2
description: Try assign 1 for not reserved words
---*/

// a
function Test() {
    var and = 1;
    var and_eq = 1;
    var as = 1;
    var asm = 1;
    var assert = 1;
    var auto = 1;
// b
    var base = 1;
    var bitand = 1;
    var bitor = 1;
    var bool = 1;
    var byvalue = 1;
// c
    var checked = 1;
    var clone = 1;
    var comment = 1;
    var compl = 1;
    var const_cast = 1;
// d
    var decimal = 1;
    var delegate = 1;
    var dynamic_cast = 1;
// e
    var explicit = 1;
    var extern = 1;
    var equals = 1;
    var event = 1;
// f
    var finalize = 1;
    var fixed = 1;
    var friend = 1;
    var foreach = 1;
    var future = 1;
// g
    var getClass = 1;
    var generic = 1;
// h
    var hashCode = 1;
// i
    var implicit = 1;
    var infinity = 1;
    var inline = 1;
    var inner = 1;
    var internal = 1;
    var is = 1;
// j
// k
// l
    var lock = 1;
// m
    var mutable = 1;
// n
    var namespace = 1;
    var not = 1;
    var notify = 1;
    var notifyAll = 1;
    var not_eq = 1;
// o
    var object = 1;
    var operator = 1;
    var or = 1;
    var or_eq = 1;
    var out = 1;
    var outer = 1;
    var override = 1;
// p
    var params = 1;
// q
// r
    var readonly = 1;
    var reinterpret_cast = 1;
    var ref = 1;
    var register = 1;

// s
    var sbyte = 1;
    var signed = 1;
    var sizeof = 1;
    var stackalloc = 1;
    var static_cast = 1;
    var string = 1;
    var strictfp = 1;
    var struct = 1;
// t
    var template = 1;
    var toString = 1;
    var typedef = 1;
    var typeid = 1;
// u
    var uint = 1;
    var unchecked = 1;
    var undefiend = 1;
    var union = 1;
    var unsafe = 1;
    var unsigned = 1;
    var use = 1;
    var using = 1;
    var ushort = 1;
// v
    var valueOf = 1;
    var virtual = 1;
// w
    var wait = 1;
    var wchar_t = 1;
// x
    var xor = 1;
    var xor_eq = 1;
// y
// z
}

// preheat
const NUMBER_OF_PREHEAT = 1;
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}

ArkTools.jitCompileAsync(Test);
assert.sameValue(ArkTools.waitJitCompileFinish(Test), true, '[JIT] JIT disabled.');

// test
const NUMBER_OF_TEST = 1; // or 2
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}
